package cn.lngaosu.lwyd.module.integration.controller.admin.weixinarticleanalysis.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.lngaosu.lwyd.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.time.LocalDate;

import static cn.lngaosu.lwyd.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static cn.lngaosu.lwyd.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;

@Schema(description = "管理后台 - 微信文章分析分页 Request VO")
@Data
public class WeixinArticleAnalysisPageReqVO extends PageParam {

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "数据的日期，需在begin_date和end_date之间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private LocalDate[] refDate;

    @Schema(description = "数据的小时，包括从000到2300，分别代表的是[000,100)到[2300,2400)，即每日的第1小时和最后1小时")
    private Integer refHour;

    @Schema(description = "请注意：这里的msgid实际上是由msgid（图文消息id，这也就是群发接口调用后返回的msg_data_id）和index（消息次序索引）组成， 例如12003_3， 其中12003是msgid，即一次群发的消息的id； 3为index，假设该次群发的图文消息共5个文章（因为可能为多图文），3表示5个中的第3个")
    private String msgid;

    @Schema(description = "图文消息的标题")
    private String title;

    @Schema(description = "图文页（点击群发图文卡片进入的页面）的阅读人数")
    private Integer intPageReadUser;

    @Schema(description = "图文页的阅读次数")
    private Integer intPageReadCount;

    @Schema(description = "原文页（点击图文页“阅读原文”进入的页面）的阅读人数，无原文页时此处数据为0")
    private Integer oriPageReadUser;

    @Schema(description = "原文页的阅读次数")
    private Integer oriPageReadCount;

    @Schema(description = "分享的人数")
    private Integer shareUser;

    @Schema(description = "分享的次数")
    private Integer shareCount;

    @Schema(description = "收藏的人数")
    private Integer addToFavUser;

    @Schema(description = "收藏的次数")
    private Integer addToFavCount;

    @Schema(description = "数据类型code，1：获取图文群发每日数据，2：获取图文群发总数据，3：获取图文统计数据，4：获取图文统计分时数据，5：获取图文分享转发数据，6：获取图文分享转发分时数据")
    private Integer dataTypeCode;

    @Schema(description = "数据类型，1：获取图文群发每日数据，2：获取图文群发总数据，3：获取图文统计数据，4：获取图文统计分时数据，5：获取图文分享转发数据，6：获取图文分享转发分时数据")
    private String dataType;

}